\subsection{Participatory simulation}

\subsubsection{Definition}

According to Murakami in \cite{Murakami:2006}, a participatory simulation is a multi-agent simulation in which one or more agents of the simulation are controlled by humans. The actors can either observe the behavior of agents and correct it if necessary or even fully control it, \emph{i.e.} choose every action it will do. Participatory simulations appear to be a good solution to two key issues in simulation: on the one hand they allow users to be immersed in a simulation to test various scenario and to have a better view of the simulated system, on the other hand human beings controlling agents provide agents with the best and most possible realistic behavior.
%It would be impossible to a single developer to design the behavior of agents that necessitate a deep expertise.
%These actions are to response the objective of major modeling and simulation activities on the complex system researches that is to replicate complex phenomena in real world with various behaviors and to provide a more detailed view of the system.
%An individual developer satisfies with difficulties of all expertises required. With a teamwork, the communication between experts on their expertises will help to response more actually and exactly to the real world.


\subsubsection{Typology}

Such participatory simulations can be done for various purposes.
%The participatory simulation involves the social actors (the experts of domain) in the role-playing game by controlling the agents to approach the real world for different purposes.
Paul Guyot and Alexis Drogoul in \cite{GUYOT_THESE:2006} have designed a typology of participatory simulations (Table \ref{table_typology}) that consists of three different research approaches and the last is an entire role-playing approach.
%
%The participatory simulation involves the social actors (the experts of domain) in the role-playing game by controlling the agents to approach the real world for different purposes. Paul Guyot and Alexis Drogoul in \cite{GUYOT_THESE:2006} designed the typology of participatory simulation in Table \ref{table_typology} that consists of three different research approaches and the last is the entire role-playing approach.

\begin{table*}[!t]
\caption{Typology of participatory simulation}
\label{table_typology}
\centering
\begin{tabular}{|l|p{5cm}|l|l|}
  \hline
  % after \\: \hline or \cline{col1-col2} \cline{col3-col4} ...
  Type & Expected outcome & Participants & Examples \\
  \hline
  Research & Design, improve and validate models & Stakeholders & Smach project \\
  \hline
  Education & Teach the articulation between individual and collective behaviors & Students & SimComMod \\
  \hline
  Negotiation & Favor negotiation between stakeholders & Stakeholders (exchanged roles) & SimComMod \\
  \hline
  MAS/RPG & An integration between Role-Playing Game and Multi-Agent-based Simulation distributed on a computing network via Internet with many participants & Multidisciplinary participants & Air Traffic Management system \\
  \hline
\end{tabular}
\end{table*}


\subsubsection{Steps of a participatory simulation}

Such an experimental process have two core components: (i) the choice of the participants in an experimentation (the social construction in real world) and (ii) the choice of simulation scenarios (the simulator model) \cite{Daniellou:2007}. The second component will be set by two elements: inputs and outputs as the core of this component. The modeler will choose a model and invite the participants to this project. The choice of model depends on the field of their exploration that decides the inputs and outputs. The choice of the participants is based on their knowledge that are required to perform the simulation. And each participant will receive a suitable role. These participants can initialize the parameters, execute this simulator and observe the outputs on the view of their personal interface that designed for a role. The experience and knowledge about a special research domain will help the participant to control the inputs of simulator effectively. The researchers change the inputs of the simulation or change the actions of agents to get the desired outputs.
%In this situation, groups of participants are invited to take part in simulations about the future work system \cite{Daniellou:2007}.


%%%%%%%%%%%%%%%%%%%%%%
% Added from section II - by Nhan
%
%
%
%On the agent-based participatory simulation, the separation of roles between experts is very important. The stakeholders will take part and have the influences in their participation on the execution of simulation. They should access to control the simulation on a remote server, to observe and initialize the correspondent parameters of simulation, and to view the results according to their domain.
%
%The collaborative framework has a multiple interface for making use of the expertises and experiences of domain experts. Each personal interface agrees to a role that supports certain rights. A clear separation will avoid the concurrent among various specialties and help the researchers to work on the familiar data that keep only the variables and actions correspond to see and control an agent. The social construction of the experimental process should ensure the decision processes at the levels of the expertise, and the simulation work groups. The role of each research should be explicit.
%
%It is necessary to find the related elements in a collaborative simulation process to personalize in the multiple interface. Such a experimental process have two core components: (i) the choice of the participants in a experimentation (the social construction in real world) and (ii) the choice of simulation scenarios (the simulator model) \cite{Daniellou:2007}. The second component will be set by two elements: inputs and outputs as the core of this component. The modeler will choose a model and invite the participants to this project. The choice of model depend on the field of their exploration that decide the inputs and outputs. The choice of the participants is based on their knowledge that are required to perform the simulation. And each participant will receive a suitable role. These participants can initialize the parameters, execute this simulator and observe the outputs on the view of their personal interface that designed for a role. The experience and knowledge about a special domain research will help the participant to control the inputs of simulator effectively. The researchers change the inputs of the simulation or change the actions of agents to get the desired outputs. In this situation, groups of participants are invited to take part in simulations about the future work system \cite{Daniellou:2007}.

%
%
% End add from section II


\subsection{Examples of applications}

The definition of the different roles for participatory simulation is the first step to determinate the personalized interface. This interface should integrate all views and controls specified by the rights associated to the role. Note that the rights associated with each role should be specified by the modeler and depend mainly on his aims. Before designing the meta-model of these roles, we must analyze deeply what constitutes a role and which elements can be associated with it.
%The definition of the fundamental different roles for participatory simulation is the first step to determinate the personal control interface for the representation of the role that is controlled by the actor of current experiment in the variables and actions of an agent.
%
We present some participatory simulators to support this analysis.


\subsubsection{The ComMod approach}

Some models developed with the ComMod (Companion Modeling) approach \cite{Barreteau:2003} have been improved by including them in an agent-based participatory simulator.
%in which each participant controls an agent, interact through the agent they control as a part of the simulation.
In \cite{Guyot:2004}, authors install such a model in the E-ComMod game. This model tackles the  actual issue of the resource management situations where resources should be exploited in a renewable way. This application consists of an environment represented by a cellular automata and three kinds of agents: the harvesters, the environmentalists and the governments.
% The experiment is divided in four phases: harvest, proposition, negotiation and validation. The thematicians will participate in the experiment by playing a role %through the avatar of an agent. The harvesters want to exploit the resources but the government, who make the policy and the laws, and the environmentalist, who %preserve the resources, want to limit the pressure from the harvesters on the environment.
%
In this work, authors design the agents that represent the role of each agent with one controllable avatar for each agent. With this role, they determine the accesses of roles through the rules of game.
%Finally, they invite a number of users to play the game.


\subsubsection{Air Traffic Management system}
	
In \cite{Minh:2008}, Nguyen-Duc \emph{et al.} proposed Air Traffic Management system, an agent-based participatory simulation and distributed software to manage air traffic flow in real-time. They defined various kinds of controllers as agents with their behaviors, their  decision-making process and their interactions. Their task is to control the air flow, avoid the collisions, distribute the flights and so on, in a local area or a large area. Each agent can be either autonomous or controlled by a human participant.

Depending on the traffic density and on the geometrical area, the airspace (\emph{i.e.} the environment) is divided in many sectors or in regions with a group of sectors. The planning controller plans the flight traffic. Each local controller manages his air sector.
% The control center manages his region.
%Two types of air traffic controllers will only look their radar screen by the map of their section or region.
%The executive controller will communicate with pilots. For example, the control center will inform the controllers about the environment state and show the available %actions in specific cases. 
Each role has some specialized views and controls on their area that can be managed through a personal radar screen.
% More ambitiously, authors provide monitoring agents, named sentinel agents, that observe input and output data, transmit information between the agents and %display information on the controller' radar screen. Authors also design an assistant agent for each controller as a decision support system that can correct actions.

%Other work of Minh in \cite{Minh:2008}, Air Traffic Management system, is improved the agent-based participatory simulation and distributed software tools to manage air traffic flow in real time with their behaviors, decision-making and their interactions for controlling the air flow, avoiding the collision, distributing the flights, etc in a local area or large area. Depending on traffic density and geometrical area, they divide airspace into many sectors or regions with a group of sectors. The planning controller will give traffic flights. The local controllers will manage his air sector. The control center will manage his region. Two types of air traffic controllers will only see on their radar screen by the map of their section or region. The executive controller will communicate with pilots. For example, the control center will inform to the controllers with the environment state and show the available actions in specific case. Each role has the specialized views and controls on their area that can be managed through a personal radar screen. More ambitiously, they provide the monitoring agents and name sentinel agents to observe the input and output data and transmit information between the agents and display information on the radar screen of a controller. They also design an assistant agent for each controller as the decision-aided system for correction actions.
	

\subsubsection{The Smach project}

The Smach project \cite{Sempe:2010} is a model simulating the daily activities of different members of a family within the radius of a house. The environment is thus represented by a house that is divided into several rooms. In the first version, the model has five agents family members (parents and children), smart objects such as radiators (a radiator has four states: off, medium, maximum, comfort) or lamps (a lamp has four states: off, comfort, maximum, basic), and the rooms of the house. This application is used to investigate the behavior of family members and how they manage their electricity consumption. Human agents have some daily activities such as reading, watching television, washing the dishes, going out, going in, and so on. In these activities, they can cooperate, for example the man helps his wife to wash the dishes. The relationship between the state of smart objects and their activities can be generated automatically, for example, when a children reads, the lamp turns on; when all human beings go outside, the lamp and the radiator turn off. Each agent is represented by a click-able avatar for which they can choose an action in the actions list and change his property in the list of properties of every agent. Moreover, this application provides many views to the agents, \emph{e.g.} in the radius of a house or in the one of a specific room. All activities can be automatically realized by the cognitive agents or the participants can control the agents to correct their choice or to fully control him. This application is a good example for the design of an agent-based participatory simulation but is not developed with the objective to become a collaborative environment.
		
\bigskip
Above examples are typical examples of agent-based participatory simulations. However, these applications are designed for one specific domain in which the agents are predefined. If we want to define others agents or change agents' rights, the source codes of simulators must be altered.


\subsection{From ad hoc participatory simulators to a generic platform}

At the opposite of these ad hoc simulators built from scratch for a specific application, simulation platforms (such as Repast \cite{REPAST:2006}, Netlogo \cite{NETLOGO:1999} or Gama \cite{GAMA:2010}) can be used to ease and accelerate the development of simulators. Such platforms integrate often a simple modeling language (\emph{e.g.} Netlogo and Gama) or Java interface for agents which help modelers to develop agents and their behavior. They also handle the kernel of the simulator (in particular the scheduler) and the monitoring of the simulation. They thus offer lot of functionalities that speed up the development of a simulator. Nevertheless they have nothing to develop collaborative and participatory simulations in terms of multiple interface or network ease.
%
We thus decided to use the PAMS portal. It offers collaborative tools. Moreover it manages ad hoc simulators (\emph{e.g.} MIOR simulator) and simulation platforms (Repast, Netlogo and Gama) as black-box defined by their inputs and outputs in order to display them all in a common GUI.

However, as said before, participatory simulations do not need only collaborative tools but also various views and control on the simulation.
%
One of the difficulties to become a group-ware that supports the participatory simulation is thus to design a generic, extensible, modular and flexible approach (\emph{i.e.} meta-model) that defines easily the roles. It must be generic enough to adapt to all models because each simulator has its own specifications.


%For the collaborative frameworks for agent-based modeling and simulation such as PAMS, the collaborative frameworks that supports the management of generic agent-based simulators and its models.
%%
%These available models are designed by some simulators (Repast \cite{REPAST:2006}, Netlogo \cite{NETLOGO:1999} and Gama \cite{GAMA:2010} for PAMS) but they miss a multiple interface with specialized roles for participatory simulation although all supports the necessary collaborative tools for collaborative simulation works.
%%
%The available agent-based models defined the inputs, the outputs on a common interface.
%%
%However, in a more effective collaborative simulation process as said before, all participants should not work on a same interface in which they control and view the same inputs, same outputs with the same role.
%%
%One of the difficulties to become a group-ware that supports the participatory simulation is how to design a generic, extensible, modular and flexible approach for defining easily the roles of all models because each simulator has its own specification for a special field. In others word, this solution facilitate to implement of the predefined roles when they install a new model or want to change the specification of the roles for an available definition.

\subsection{Toward the need of a multiple interface}

In complex systems researches, most steps of the modeling and simulation activities require, in addition to modelers and computer scientists, experts from various domains (such as agriculture, urban planning, disaster prevention, environment, industrial development \cite{Daniellou:2007} or epidemiology \cite{Amouroux:2010}) who exchange their experiences, knowledge \cite{Guyot:2004} and expertise. Integrating experts in the modeling and simulation loop is essential for the conceptual analysis or for the analysis of the results of the simulation in comparison with real phenomena.
%
To effectively facilitate this integration, participants can be invited to take part to multidisciplinary collaborative experimentations. This multidisciplinary is essential to explore individual and collective decision-making \cite{GUYOT:2006}.

However, the mission of each participant must be clear and specific to the domain expert. In other words, each participant has a particular role in the simulation that gives him specific rights during the simulation. In the sequel we will define these rights as the specification of the elements the user can view and control and they will thus define the interface of each stakeholder. This dedicated interface helps the researchers to work on familiar data by keeping only variables and actions corresponding to his expertise domain. The social construction of the experimental process should ensure the decision processes at the levels of the expertise.
%, and the simulation work groups.

%Each personal interface agrees to a role that supports certain rights. A clear separation will avoid the concurrent among various specialities and help the researchers to work on the familiar data that keep only the variables and actions correspond to see and control an agent. The social construction of the experimental process should ensure the decision processes at the levels of the expertise, and the simulation work groups.
%% The role of each research should be explicit.
